from ..tool.base import BaseTool

class PythonExecute(BaseTool):
    """
    执行Python代码片段的工具类。

    该类继承自BaseTool，提供了执行Python代码片段的功能，主要用于执行传入的Python表达式或代码块。
    """

    def execute(self, input: str) -> str:
        """
        执行输入的Python代码片段并返回结果。

        参数:
        input (str): 需要执行的Python代码片段，以字符串形式传入。

        返回:
        str: 执行结果或错误信息。如果执行成功，返回执行结果的字符串表示；如果发生错误，返回错误信息。

        该方法尝试使用eval函数执行传入的代码片段。如果执行过程中发生异常，则捕获异常并返回错误信息。
        """
        try:
            # 尝试执行传入的Python代码片段
            return eval(input)
        except Exception as e:
            # 捕获执行过程中发生的任何异常，并返回错误信息
            return f"Error: {e}"
